Field of the Invention
The present invention relates generally to controlling a set of devices, including home automation and entertainment systems and, more specifically, to program generation for a universal control system.
Description of the Related Art
Remote control units, or “remotes,” are commonly used in homes and businesses to control electrically powered devices, such as lighting fixtures and motorized window shades, and electronic devices, such as televisions, stereo receivers, audio-video receivers, DVD players, CD players, set-top cable boxes, and the like. Because of the large number of electronic devices currently available, the so-called “universal remote” has been developed, which is a type of remote control unit that enables control of multiple different electronic devices with a single device.
Some universal remotes allow for the programming of a programming sequence, which is a series of wireless commands that can be initiated by pressing a single button on the universal remote. For example, to operate a television in conjunction with a stereo system so that the stereo system receives sound input from the television, a user may program a programming sequence for this activity. In this case, the programming sequence may include a series of suitable wireless commands that will turn on the television, turn on the stereo system, and then switch the input to the stereo system receiver to receive audio input from the television (rather than from a CD player or some other device). Thus, by pressing a single button, a user can configure and activate the appropriate components of a home entertainment system for a particular activity.
With more complex home entertainment systems, however, programming a universal remote with a programming sequence can be a time-consuming and frustrating process, even with universal remotes designed to partially automate the programming process. In particular, accurate programming of a particular programming sequence generally requires very specific knowledge of the configuration of each and every device that receives a command as part of the programming sequence. For instance, a properly functioning programming sequence cannot be programmed without correctly programming exactly which source device (cable box, DVD player, game console, etc.) is connected to which input of an audio-video receiver or stereo receiver, which input a display device to be used is on, and so on. The typical end-user does not have such information readily available and, therefore, must resort to physical verification of the exact connectivity and other characteristics of each electronic device to be controlled.
As the foregoing illustrates, there is a need for more effective techniques for program generation for a universal control system.